package com.carrot.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.carrot.common.core.domain.entity.SysStation;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 场站表 数据层
 *
 * @author liuhongzhen
 */
@Mapper
public interface SysStationMapper extends BaseMapper<SysStation> {
  /**
   * 根据条件分页查询场站列表
   *
   * @param sysStation 场站信息
   * @return 场站信息集合信息
   */
  List<SysStation> selectStationList(SysStation sysStation);

  /**
   * 通过场站名查询场站
   *
   * @param stationName 场站名
   * @return 场站对象信息
   */
  SysStation selectStationByStationName(String stationName);

  /**
   * 通过场站ID查询场站
   *
   * @param id 场站ID
   * @return 场站对象信息
   */
  SysStation selectStationById(Long id);

  /**
   * 通过场站ID查询场站
   *
   * @param stationId 场站ID
   * @return 场站对象信息
   */
  SysStation selectStationByStationId(String stationId);

  /**
   * 新增场站信息
   *
   * @param sysStation 场站信息
   * @return 结果
   */
  int insertStation(SysStation sysStation);

  /**
   * 修改场站信息
   *
   * @param station 场站信息
   * @return 结果
   */
  int updateStation(SysStation station);

  /**
   * 通过场站ID删除场站
   *
   * @param id 场站ID
   * @return 结果
   */
  int deleteStationById(Long id);

  /**
   * 批量删除场站信息
   *
   * @param stationIds 需要删除的场站ID
   * @return 结果
   */
  int deleteStationByIds(Long[] stationIds);

  /**
   * 校验场站名称是否唯一
   *
   * @param stationName 场站名称
   * @return 结果
   */
  SysStation checkStationNameUnique(String stationName);

  /**
   * 校验手机号码是否唯一
   *
   * @param stationId 手机号码
   * @return 结果
   */
  SysStation checkStationIdUnique(String stationId);

  /**
   * 更新场站状态
   * @param sysStation
   * @return
   */
  int updateStationStatus(SysStation sysStation);

}
